The present invention relates to the field of computers and more particularly to multiprocessor systems having CPUs that can be added or removed from system operation.
Computer users are concerned about availability of their computer systems and particularly upgrades and downgrades in the CPU configuration. A CPU upgrade is performed, among other reasons, to increase the capacity of the computer system and a CPU downgrade is performed to reduce the capacity of the system. Increasing or decreasing the capacity of a system, besides tailoring the system to fit the data processing needs of the user, also has a significant cost element since many software products that run on computer systems are priced as a function of the system capacity.
In large multiprocessor computer systems that employ multiple system control programs (SCPs), CPU upgrades have been difficult to schedule because the computer user must plan an outage for all of the SCPs running on the CPU to be upgraded. With the continued exploitation of logical partitioning using multiple domain features (MDF), it has become impractical to schedule all SCPs to be down at the same time. This difficulty causes customers to delay necessary upgrades rather than attempting to schedule the total system outage. The current upgrade process includes the following steps:
1) Establish a hardware upgrade price with the hardware vendor. PA1 2) Notify the Operating System Vendor (for example, IBM for main frame systems) to change their software charges to account for the upgraded system capacity. PA1 3) Notify Independent Software Vendors (ISVs) to change their software charges to account for the upgraded system capacity and providing the new CPUID version code when necessary. PA1 4) Update ISV software encoded CPUID tables. PA1 5) Take a system outage to implement the upgrade PA1 1. Install new feature file on the SVP which defines the number of online CPUs. PA1 2. Macrocode adjusts the number of online CPUs in the system to match the feature file. PA1 3. Macrocode resets the fenced (Off-line) CPU. PA1 4. Macrocode adds CPUs to the shared pool. PA1 5. Macrocode dispatches work (domain/partition LPs) on the shared CPUs. PA1 6. The LPCTL frame is used by the customer to change the number of dedicated LPs. PA1 7. The customer can use the MVS command "CF CPU(nn), online".
Steps 1-4 are normally performed days or even weeks before the outage is taken. While few software products actually check the CPUID version code for compliance, the customer is normally required by contract to notify both the Operating System vendor and any ISVs when their licensed software will be run on a different hardware configuration. The current practice often encounters delays that are wasteful to the computer user.
Accordingly, and in light of the problems of prior systems, there is a need to be able to upgrade computer CPU configurations dynamically without causing the computer user to suffer the delays and outages that have heretofore been required. It is desirable that users be able to purchase additional capacity quickly and with little effort.